界面效果
在手机设备上,由于采用单窗格用户界面,因此可能更适合一次只显示一个片段。 相反,由于平板电脑屏幕尺寸较大,可以为用户显示更多信息,因此最好将片段设计为并排显示。
布局文件
小屏布局文件,如手机
res/layout/news_articles.xml:
大屏布局文件,如平板电脑
res/layout-large/news_articles.xml:
判断加载哪个布局文件
当设备屏幕尺寸小于large时加载第一个布局文件,否则加载第二个布局文件,是否large则由系统判断,而我们可以通过以下方法判断加载的是哪个布局:
片段处理
FragmentManager类提供的方法让您可以在运行时为 Activity 添加、移除和替换片段,从而营造出动态的用户体验。
在运行时为 Activity 添加片段
在您的 Activity 内,使用 Support Library API 调用 getSupportFragmentManager() 以获取 FragmentManager。然后,调用 beginTransaction() 创建一个 FragmentTransaction,并调用 add() 添加一个片段。
替换片段
替换片段的步骤与添加片段类似,只不过调用的方法从 add() 改为 replace()。
请谨记,当您执行替换或移除片段等片段事务时,通常最好让用户能够回退并“撤消”更改。 要让用户回退所执行的片段事务,您必须先调用 addToBackStack(),然后再提交 FragmentTransaction。
片段替换示例:
片段通信
通常您希望一个片段与另一个片段进行通信,例如根据用户事件更改内容。所有片段到片段的通信是通过Activity完成的。两个片段不应该直接交流。若要允许片段与其Activity进行通信,您可以在片段类中定义接口并在Activity中实现它。片段捕捉接口实现其onattach()生命周期方法中可以调用接口的方法以进行交流活动。
1、声明接口
在HeadlinesFragment声明接口OnHeadlineSelectedListener:
2、实现接口
在DynamicFragmentsActivity中实现接口:
3、回调
在HeadlinesFragment回调接口中的方法: